import request from './request.js'

/**
 * 聊天会话和消息相关API
 */
export default {
    /**
     * 获取所有会话列表
     * @param {Object} params - 查询参数
     * @param {Number} params.user_id - 可选，用户ID
     * @param {Number} params.page - 页码，默认1
     * @param {Number} params.page_size - 每页数量，默认10
     * @returns {Promise} - 返回会话列表
     */
    getConversations(params = {}) {
        return request({
            url: '/api/admin/chat/conversations',
            method: 'get',
            params
        })
    },

    /**
     * 获取会话详情
     * @param {Number} id - 会话ID
     * @returns {Promise} - 返回会话详情
     */
    getConversation(id) {
        return request({
            url: `/api/admin/chat/conversations/${id}`,
            method: 'get'
        })
    },

    /**
     * 删除会话
     * @param {Number} id - 会话ID
     * @returns {Promise} - 返回删除结果
     */
    deleteConversation(id) {
        return request({
            url: `/api/admin/chat/conversations/${id}`,
            method: 'delete'
        })
    },

    /**
     * 获取会话消息历史
     * @param {Object} params - 查询参数
     * @param {Number} params.conversation_id - 会话ID
     * @param {Number} params.page - 页码，默认1
     * @param {Number} params.page_size - 每页数量，默认20
     * @returns {Promise} - 返回消息列表
     */
    getMessages(params) {
        return request({
            url: '/api/admin/chat/messages',
            method: 'get',
            params
        })
    },

    /**
     * 搜索会话
     * @param {Object} params - 查询参数
     * @param {Number} params.user_id - 可选，用户ID
     * @param {String} params.keyword - 搜索关键词
     * @param {Number} params.page - 页码，默认1
     * @param {Number} params.page_size - 每页数量，默认20
     * @returns {Promise} - 返回搜索结果
     */
    searchConversations(params) {
        return request({
            url: '/api/admin/chat/conversations/search',
            method: 'get',
            params
        })
    },

    /**
     * 获取AI回复内容列表
     * @param {Object} params - 查询参数
     * @param {Number} params.page - 页码，默认1
     * @param {Number} params.page_size - 每页数量，默认10
     * @returns {Promise} - 返回AI回复内容列表
     */
    getAiResponses(params = {}) {
        return request({
            url: '/api/admin/ai-response/page',
            method: 'get',
            params
        })
    },

    /**
     * 获取AI回复内容详情
     * @param {Number} id - AI回复内容ID
     * @returns {Promise} - 返回AI回复内容详情
     */
    getAiResponse(id) {
        return request({
            url: `/api/admin/ai-response/${id}`,
            method: 'get'
        })
    },

    /**
     * 获取会话的所有AI回复内容
     * @param {Number} conversationId - 会话ID
     * @returns {Promise} - 返回AI回复内容列表
     */
    getAiResponsesByConversation(conversationId) {
        return request({
            url: `/api/admin/ai-response/conversation/${conversationId}`,
            method: 'get'
        })
    },

    /**
     * 获取消息的AI回复内容
     * @param {Number} messageId - 消息ID
     * @returns {Promise} - 返回AI回复内容
     */
    getAiResponseByMessage(messageId) {
        return request({
            url: `/api/admin/ai-response/message/${messageId}`,
            method: 'get'
        })
    },

    /**
     * 删除AI回复内容
     * @param {Number} id - AI回复内容ID
     * @returns {Promise} - 返回删除结果
     */
    deleteAiResponse(id) {
        return request({
            url: `/api/admin/ai-response/${id}`,
            method: 'delete'
        })
    }
} 